# 异步运行 playwright
from playwright.async_api import async_playwright
import asyncio
import time

async def main():
    async with async_playwright() as p:
        browser = await p.chromium.launch(headless=False)
        context = await browser.new_context()
        page = await context.new_page()
        try:
            # referer="https://www.taobao.com"表示访问百度的请求是从淘宝页面发起的。
            # wait_until="load"表示等待页面完全加载完成。
            # 模拟一个用户从淘宝网站跳转到百度网站的行为，并等待百度页面完全加载
            await page.goto("https://www.baidu.com", timeout=30000, referer="https://www.taobao.com", wait_until="load")
            await page.wait_for_timeout(1000)  # 等待1秒
            print(await page.title())  # 打印网页标题栏
            time.sleep(2)

            # 根据css选择器 找到选择框 输入内容
            await page.locator('#kw').fill('PO设计模式')  # 输入PO设计模式
            await page.locator('#su').click()  # 点击百度一下
            # page.locator('#kw').fill('PO设计模式\n')    # 可以代替上面的两行
            time.sleep(3)
            # 打印所有搜索内容
            lcs = await page.locator(".content-right_2s-H4").all()
            for lc in lcs:
                print(await lc.inner_text())
        finally:
            await p.stop()


if __name__ == '__main__':
    asyncio.run(main())








